Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
Mongodb "me gusta" en múltiples campos en agregación

Así que tengo algunos documentos de usuario que tienen nombres y apellidos. Me gustaría ofrecer la posibilidad de filtrarlos si una entrada dada "se parece" a ese nombre completo.

 user: { firstName: "foo", lastName: "name", ... }

Antes, estaba haciendo este filtro en el lado de javascript midiendo una "puntuación" de similitud entre la entrada y el nombre completo, pero desde que implementé un sistema de paginación ya no puedo hacer esto.

Ahora me gustaría encontrar una manera de hacer esto en el lado de la agregación.

Encontré this question y this one , que parece hacer lo mismo, pero como no usan la agregación directamente, me resulta difícil vincular esto con mi caso.

Una forma de hacerlo que he estado pensando es usar el operador $where en la agregación y luego addField para tener el "puntaje de similitud" con cada resultado de la consulta, luego filtrarlos en su puntaje usando las opciones de aggregatePaginate de Paginación.

Pero me parece que no puedo usar $where en la agregación. Alguna idea ?

Muchas gracias ! kev :)

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para la agregación, puede usar la función $ para ejecutar código personalizado. Sin embargo, eso anula el propósito de la paginación, ya que Mongo tiene que ejecutar este código para cada documento, además, se recomienda no ejecutar js en Mongo, ya que tiene un rendimiento algo malo.

Parece que solo está usando la base de datos incorrecta para el trabajo. Si esta es una característica crucial, le recomiendo probar una base de datos de búsqueda de texto como Atlas Search o Elasticsearch.

Si cambiar db no es una opción, y esta función es demasiado importante para eliminarla o alternarla. tal vez si proporciona detalles adicionales sobre cómo funciona la puntuación, será más fácil dar una respuesta completa.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda